/***Intro***/
Intro(2o)

【名前】
	Intro - Toolbox: その他（man2o.hlp）

【概要】

【Inside Macintosh】
								<<キーワード>>
	Operating System Utilities
		(関連する Manager 入っているものもある)
		II-367
		IV-233
		V-591		MMU 関連

	Toolbox Utilities
		(関連する Manager 入っているものもある)
		I-465
		IV-63		浮動小数点数の計算

	Gestalt Manager						GestaltManager
		VI-3 (Part 1)

	System Error Handler					SystemError
		II-355
		IV-231		II-365 に転記済み
		V-571		II-355 に転記済み

	Desk Manager						DeskManager
		I-435

	Package Manager						PackageManager
		I-481
		I-487		Binary-Decimal Conversion Package
		I-493		International Utilities Package
		IV-67

	Scrap Manager						ScrapManager
		I-451
		IV-61		I-451 に転記済み

	Process Manager						ProcessManager
		VI-29 (Part 3)	Process Manager
		関連	Segment Loader

	Segment Loader						SegmentLoader
		I-53
		II-83		[システムが勝手にやること]

	Notification Manager					Notification
		VI-24 (Part 3)

	Time Manager						TimeManager
		VI-23 (Part 3)

	List Manager						ListManager
		IV-259

	廃止
		Time Manager	IV-297

【関連項目】

【ヘッダー】
	OSUtilities.h
	ToolboxUtilities.h
		FixMath.h

	Gestalt.h
	Errors.h

	Desk.h		DA(Desk Accessory)
	Packages.h

	Scrap.h

	Process.h
	SegmentLoader.h

	Notificataion.h
	Timer.h

	Lists.h

【残り】
	Listパッケージ
/***HandToHand***/ PtrToHand PtrToXHand HandAndHand PtrAndHand MemoryManager
HandToHand(2o)

【名前】
	HandToHand  -
	PtrToHand   -
	PtrToXHand  -
	HandAndHand -
	PtrAndHand  -

【書式】
	■HandToHand	II-374
	■PtrToHand	II-375
	■PtrToXHand	II-375
	■HandAndHand	II-376
	■PtrAndHand	II-376

	OSErr	HandToHand(Handle *theHndl);

	OSErr	PtrToXHand(const void *srcPtr, Handle dstHndl, long size);

	OSErr	PtrToHand(const void *srcPtr, Handle *dstHndl, long size);

	OSErr	HandAndHand(Handle hand1, Handle hand2);

	OSErr	PtrAndHand(const void *ptr1, Handle hand2, long size);
/***ReadDateTime***/ GetDateTime SetDateTime Date2Secs Secs2Date GetTime SetTime DateTimeRec
ReadDateTime(2o)

【名前】
	ReadDateTime - 日時の読み出し(たぶんシステム用)
	GetDateTime  - 日時の読み出し
	SetDateTime  - 日時のハードウェアへの設定
	Date2Secs    - 日時レコード → 日時整数への変換
	Secs2Date    - 日時整数 → 日時レコードへの変換
	GetTime      - 日時の読み出し(日時レコードで)
	SetTime      - 日時のハードウェアへの設定(日時レコードで)
	DateTimeRec  - 日時レコード data type

【書式】
	■ReadDateTime	II-378
	■GetDateTime	II-378
	■SetDateTime	II-379
	■Date2Secs	II-379
	■Secs2Date	II-389
	■GetTime	II-380
	■SetTime	II-380

	OSErr	ReadDateTime(ulong *secs);
	void	GetDateTime(ulong *secs);
	OSErr	SetDateTime(ulong secs);

	void	Date2Secs(const DateTimeRec *d, ulong *secs);
	void	Secs2Date(ulong secs, DateTimeRec *d);
			Date2Secs において、曜日は無視される。通常の範囲外もOK
				例:	９月３４日	１０月４日
					１月３００日	３００日目をさす

	void	GetTime(DateTimeRec *d);
	void	SetTime(const DateTimeRec *d);

	■DateTimeRec	II-378
	  DateTimeRec
		short	year;		1904 - 2040
		short	month;		1 - 12
		short	day;		1 - 31
		short	hour;		0 - 23
		short	minute;		0 - 59
		short	second;		0 - 59
		short	dayOfWeek;	1(Sunday) - 7(Saturday)
/***InitUtil***/ WriteParam SysParmType SysPPtr GetSysPPtr
InitUtil(2o)

【名前】
	InitUtil    -
	WriteParam  -
	SysParmType - data type
	GetSysPPtr  -

【書式】
	■InitUtil	II-380
	■WriteParam	II-381
	■GetSysPPtr	??

	OSErr	InitUtil(void);
	OSErr	WriteParam(void);

	SysPPtr	*GetSysPPtr(void);

	■SysParmType	II-370
	  SysParmType
		char	valid;
		char	aTalkA;
		char	aTalkB;
		char	config;
		short	portA;
		short	portB;
		long	alarm;
		short	font;
		short	kbdPrint;
		short	volClik;
		short	misc;
	  SysPPtr	SysParmType *
/***Enqueue***/ Dequeue
Enqueue(2o)

【名前】
	Enqueue -
	Dequeue -

【書式】
	■Enqueue	II-382
	■Dequeue	II-383

	void	Enqueue(QElemPtr qElement, QHdrPtr qHeader);
	OSErr	Dequeue(QElemPtr qElement, QHdrPtr qHeader);
/***GetTrapAddress***/ SetTrapAddress NGetTrapAddress NSetTrapAddress GetOSTrapAddress SetOSTrapAddress GetToolTrapAddress SetToolTrapAddress GetToolboxTrapAddress SetToolboxTrapAddress TrapType 
GetTrapAddress(2o)

【名前】
	GetTrapAddress        -
	SetTrapAddress        -
	NGetTrapAddress       -
	NSetTrapAddress       -
	GetOSTrapAddress      -
	SetOSTrapAddress      -
	GetToolTrapAddress    -
	SetToolTrapAddress    -
	GetToolboxTrapAddress -
	SetToolboxTrapAddress -

【書式】
	■GetTrapAddress	II-384; IV-234
	■SetTrapAddress	II-384; IV-234
	■NGetTrapAddress	IV-234
	■NSetTrapAddress	IV-234
	■GetOSTrapAddress
	■SetOSTrapAddress
	■GetToolTrapAddress
	■SetToolTrapAddress
	■GetToolboxTrapAddress
	■SetToolboxTrapAddress

	long	GetTrapAddress(short trapNum);
	void	SetTrapAddress(long trapAddr, short trapNum);
	long	NGetTrapAddress(short trapNum, TrapType tTyp);
	void	NSetTrapAddress(long trapAddr, short trapNum, TrapType tTyp);

	long	GetOSTrapAddress(short trapNum);
	void	SetOSTrapAddress(long trapAddr, short trapNum);

	long	GetToolTrapAddress(short trapNum);
	void	SetToolTrapAddress(long trapAddr, short trapNum);
	long	GetToolboxTrapAddress(short trapNum);
	void	SetToolboxTrapAddress(long trapAddr, short trapNum);

	■TrapType	IV-233
	  TrapType	uchar		= 0 OSTrap
					= 1 ToolTrap
/***SysBeep***/
SysBeep(2o)

【名前】
	SysBeep - 警告音を鳴らす

【書式】
	■SysBeep	II-385; V-592

	void	SysBeep(short duration);
			duration は無視される。
/***Environs***/ SysEnvirons SysEnvRec
Environs(2o)

【名前】
	Environs    - ROMバージョン,マシン識別番号の取得 [Gestalte の方がよい]
	SysEnvirons - システム環境の取得 [Gestalte の方がよい]
	SysEnvRec   - data type

【書式】
	■Environs	II-385; IV-236
	■SysEnvirons	V-5

	void	Environs(short *rom, short *machine);
	OSErr	SysEnvirons(short versionRequested, SysEnvRec *theWorld);


	■SysEnvRec	V-6
	  SysEnvRec
		short	environsVersion;
		short	machineType;		*マシン type
		short	systemVersion;
		short	processor;		*CPU type
		Boolean hasFPU;			FPU の有無
		Boolean hasColorQD;		カラーQuickDraw の有無
		short	keyBoardType;		*Keyboard type
		short	atDrvrVersNum;
		short	sysVRefNum;		"System" ファイルのある vRefNum

		マシン type
			-1 envMac
			-2 envXL
			0  envMachUnknown
			1  env512KE
			2  envMacPlus
			3  envSE
			4  envMacII
			5  envMacIIx
			6  envMacIIcx
			7  envSE30
			8  envPortable
			9  envMacIIci
			11 envMacIIfx

		CPU type
			0 envCPUUnknown
			1 env68000
			2 env68010
			3 env68020
			4 env68030
			5 env68040

		Keyboard type
			0 envUnknownKbd
			1 envMacKbd
			2 envMacAndPad
			3 envMacPlusKbd
			4 envAExtendKbd
			5 envStandADBKbd
			6 envPrtblADBKbd
			7 envPrtblISOKbd
			8 envStdISOADBKbd
			9 envExtISOADBKbd
/***SetCurrentA5***/ SetA5
SetCurrentA5(2o)

【名前】
	SetCurrentA5 -
	SetA5        -

【書式】
	■SetCurrentA5
	■SetA5

	long	SetCurrentA5(void);
	long	SetA5(long newA5);
/***DTInstall***/
DTInstall(2o)

【名前】
	DTInstall -

【書式】
	■DTInstall	V-467

	OSErr	DTInstall(QElemPtr dtTaskPtr);
/***SwapInstructionCache***/ FlushInstructionCache SwapDataCache FlushDataCache
SwapInstructionCache(2o)

【名前】
	SwapInstructionCache  -
	FlushInstructionCache -
	SwapDataCache  -
	FlushDataCache -

【形式】
	Boolean	SwapInstructionCache(Boolean cacheEnable);

	void	FlushInstructionCache(void);

	Boolean	SwapDataCache(Boolean cacheEnable);

	void	FlushDataCache(void);
/***QTypes***/ QElem QElemPtr QHdr QHdrPtr
QTypes(2o)

【名前】
	QTypes -
	QElem  -
	QHdr   -

【形式】
	■QTypes	II-373
	  QTypes	ushort

	■QElem	II-373
	  QElem
		struct	QElem *qLink;
		short	qType;
		short	qData[1];
	  QElemPtr	QElem *

	■QHdr	II-372
	  QHdr
		short	qFlags;
		QElemPtr qHead;
		QElemPtr qTail;
	  QHdrPtr	QHdr *
#
#
#
/***Fixed***/ FixedPtr Fract FractPtr extended80 extended96 __extended extended comp FixRound Fix2Frac Fix2Long Long2Fix Frac2Fix Frac2X Fix2X X2Fix X2Frac FixRatio FixMul FixDiv FracMul FracDiv FracSqrt FracSin FracCos FixATan2
Fixed(2o)

【名前】
	Fixed    - 固定少数点数 data type
	Fract    - 固定少数点数 data type
	extended - 浮動小数点数 data type
	comp     - 特殊な数値データタイプ
	FixRound - Fixed → short(四捨五入)
	Fix2Frac - Fixed → Fract
	Fix2Long - Fixed → long
	Long2Fix - long  → Fixed
	Frac2Fix - Fract → Fixed
	Frac2X   - Fract → extended
	Fix2X    - Fixed → extended
	X2Fix    - extended → Fixed
	X2Frac   - extended → Fract
	FixRatio - Fixed の設定
	FixMul   - Fixed のかけ算
	FixDiv   - Fixed の割り算
	FracMul  - Fract のかけ算
	FracDiv  - Fract の割り算
	FracSqrt - Fract の平方根
	FracSin  - ラジアンに対する Sin
	FracCos  - ラジアンに対する Cos
	FixATan2 - x/yラジアンに対するアークタンジェントを返す

【形式】
	■Fixed		I-79
	  Fixed		long
	  FixedPtr	Fixed *
		数値範囲  -32768 ～ 32767.99999
				#31	符号ビット
				#30-16	整数部
				#15-0	少数部
		Fixed 同士の足し算/引き算はそのまま行う。

	■Fract		IV-63
	  Fract		long
	  FractPtr	Fract *
		数値範囲  -2 ～ 1.999999999
				#31	符号ビット
				#30	1 の位
				#29-0	少数部
		Fract 同士の足し算/引き算はそのまま行う。

	■extended80	??
	■extended96	??
	  extended80
		short	exp[1], man[4];
	  extended96
		short	exp[2], man[4];
	  __extended	extended80
	  extended	__extended

	■comp		??
	  comp
		short	man[4];

【書式】
	#include <FixMath.h>

	■FixRound	I-467	型変換
	■Fix2Frac...	IV-65	型変換
		short		FixRound(Fixed x);
		Fract		Fix2Frac(Fixed x);
		long		Fix2Long(Fixed x);
		Fixed		Long2Fix(long x);
		Fixed		Frac2Fix(Fract x);
		extended	Frac2X(Fract x);
		extended	Fix2X(Fixed x);
		Fixed		X2Fix(extended x);
		Fract		X2Frac(extended x);

	■FixRatio	I-467
	■FixMul	I-467
	■FixDiv	IV-64
		Fixed	FixRatio(short numer, short denom);	number/denom
		Fixed	FixMul(Fixed a, Fixed b);
		Fixed	FixDiv(Fixed x, Fixed y);

	■FracMul...	IV-64, 65
		Fract	FracMul(Fract x, Fract y);
		Fract	FracDiv(Fract x, Fract y);
		Fract	FracSqrt(Fract x);
		Fract	FracSin(Fixed x);
		Fract	FracCos(Fixed x);
		Fixed	FixATan2(long x, long y);
/***Munger***/
Munger(2o)

【名前】
	Munger -

【書式】
	■Munger	I-468

	long	Munger(Handle h, long offset, const void *ptr1, long len1,
			const void *ptr2, long len2);

		hのoffset番目の後にあるptr1と言うデータのlen1バイトめまでをp
		tr2と言うデータのlen2バイトめまでと入れ替える
/***NewString***/ SetString GetIndString GetString
NewString(2o)

【名前】
	NewString    - ストリングハンドルの作成
	SetString    - ストリングハンドルに文字列を設定(置き換え)
	GetString    - ストリングリソース('STR ')の取得
	GetIndString - ストリング配列リソース('STR#')の取得

【書式】
	■NewString	I-468
	■SetString	I-468
	■GetString	I-468
	■GetIndString	I-468

	StringHandle	NewString(ConstStr255Param theString);

	void	SetString(StringHandle theString, ConstStr255Param strNew);

	StringHandle	GetString(short stringID);

	void	GetIndString(Str255 theString, short strListID, short index);

		指定の リソースID,インデックス がなければ、文字列サイズ=0
/***PackBits***/ UnpackBits
PackBits(2o)

【名前】
	PackBits   - バイト列のビット列への圧縮
	UnpackBits - ビット列のバイト列への解凍

【書式】
	■PackBits	I-470
	■UnpackBits	I-470

	void	PackBits(Ptr *srcPtr, Ptr *dstPtr, short srcBytes);
	void	UnpackBits(Ptr *srcPtr, Ptr *dstPtr, short dstBytes);
/***BitTst***/ BitSet BitClr BitAnd BitOr BitXor BitNot BitShift
BitTst(2o)

【名前】
	BitTst   - バイト列のビットテスト
	BitSet   - バイト列のビットセット
	BitClr   - バイト列のビットクリア
	BitAnd   - long 同士の &
	BitOr    - long 同士の |
	BitXor   - long 同士の ^
	BitNot   - long の ~
	BitShift - long のビットシフト

【書式】
	■BitTst	I-471
	■BitSet	I-471
	■BitClr	I-471
	■BitAnd	I-471
	■BitOr		I-471
	■BitXor	I-471
	■BitNot	I-471
	■BitShift	I-472

	Boolean	BitTst(const void *bytePtr, long bitNum);
	void	BitSet(void *bytePtr, long bitNum);
	void	BitClr(void *bytePtr, long bitNum);

		bitNum は、バイト列の先頭の上位ビットの場合 0
		(例: long の再下位ビット = 31)

	long	BitAnd(long value1, long value2);
	long	BitOr (long value1, long value2);
	long	BitXor(long value1, long value2);
	long	BitNot(long value);

	long	BitShift(long value, short count);

		count	1 ～ 32		左シフト(空きビット = 0)
			0		処理しない
			-1 ～ -32	右シフト(空きビット = 0)
			上記以外	(count % 32) した値で処理
/***HiWord***/ LoWord LongMul Int64Bit
HiWord(2o)

【名前】
	HiWord  - long の上位ワードを求める
	LoWord  - long の下位ワードを求める
	LongMul - long 同士のかけ算(結果は Int64Bit)

【書式】
	■HiWord	I-472
	■LoWord	I-472
	■LongMul	I-472

	short	HiWord(long x);
	short	LoWord(long x);

	void	LongMul(long a, long b, Int64Bit *result);

		Int64Bit
			long	hiLong;
			long	loLong;
/***SlopeFromAngle***/ AngleFromSlope
SlopeFromAngle(2o)

【名前】
	SlopeFromAngle - 
	AngleFromSlope - 

【書式】
	■SlopeFromAngle	I-475
	■AngleFromSlope	I-476

	Fixed	SlopeFromAngle(short angle);
		y軸との角度（反時計回り）がangleの直線の角度を表す数（直線上
		の2点の水平距離/垂直距離）を返す

	short	AngleFromSlope(Fixed slope);
		slopeの角度の値を持つ直線の角度（直角の位置から時計回りに）を
		返す
#
#
#
/***Gestalt***/ NewGestalt ReplaceGestalt GestaltManager
Gestalt(2o)

【名前】
	Gestalt        - 動作環境情報の取得
	NewGestalt     - 新しいセレクタコードの追加
	ReplaceGestalt - セレクタコードの置き換え

【書式】
	■Gestalt Manager	VI-3-28 ～
	■Gestalt		VI-3-46
	■NewGestalt		VI-3-46
	■ReplaceGestalt	VI-3-47

	#include <GestaltEqu.h>

	OSErr	Gestalt(OSType selector, long *response);
		0	noErr
		-5550	gestaltUnknownErr	応答を得ることができなかった
		-5551	gestaltUndefSelectorErr	未定義のセレクタを使った

	OSErr	NewGestalt(OSType selector, ProcPtr gestaltFunction);

	OSErr	ReplaceGestalt(OSType selector, ProcPtr gestaltFunction,
			ProcPtr *oldGestaltFunction);

【セレクタ】
	CPU/Machine
	Memory
	QuickDraw / GUI
	その他マネージャー


	<< CPU/Machine >>
	'vers' gestaltVersion			Gestalt() のバージョン

	'proc' gestaltProcessorType		CPU タイプ
		1	gestalt68000
		2	gestalt68010
		3	gestalt68020
		4	gestalt68030
		5	gestalt68040

	'fpu ' gestaltFPUType			FPU(浮動小数点ユニット) タイプ
		0	gestaltNoFPU
		1	gestalt68881
		2	gestalt68882
		3	gestalt68040FPU

	'hdwr' gestaltHardwareAttr		ハードウェア
		#0	gestaltHasVIA1
		#1	gestaltHasVIA2
		#3	gestaltHasASC
		#4	gestaltHasSCC
		#7	gestaltHasSCSI
		#19	gestaltHasSoftPowerOff

	'kbd ' gestaltKeyboardType		キーボードタイプ
		1	gestaltMacKbd
		2	gestaltMacAndPad
		3	gestaltMacPlusKbd
		4	gestaltExtADBKbd
		5	gestaltStdADBKbd
		6	gestaltPrtblADBKbd
		7	gestaltPrtblISOKbd
		8	gestaltStdISOADBKbd
		9	gestaltExtISOADBKbd
		10	gestaltADBKbdII
		11	gestaltADBISOKbdII


	<< Memory >>
	'mmu ' gestaltMMUType			MMU(メモリ管理ユニット) タイプ
		0	gestaltNoMMU
		1	gestaltAMU
		2	gestalt68851
		3	gestalt68030MMU
		4	gestalt68040MMU

	'addr' gestaltAddressingModeAttr	アドレッシングモード
		#0	gestalt32BitAddressing
		#1	gestalt32BitSysZone
		#2	gestalt32BitCapable

	'ram ' gestaltPhysicalRAMSize		物理RAMサイズ(
	'lmem' gestaltLowMemorySize
	'lram' gestaltLogicalRAMSize
	'pgsz' gestaltLogicalPageSize
	'prty' gestaltParityAttr
		0	gestaltHasParityCapability
		1	gestaltParityEnabled

	[[ Info Only ]]
	'mach' gestaltMachineType
		-16395	kMachineNameStrID
		1	gestaltClassic
		2	gestaltMacXL
		3	gestaltMac512KE
		4	gestaltMacPlus
		5	gestaltMacSE
		6	gestaltMacII
		7	gestaltMacIIx
		8	gestaltMacIIcx
		9	gestaltMacSE030
		10	gestaltPortable
		11	gestaltMacIIci
		13	gestaltMacIIfx
		17	gestaltMacClassic
		18	gestaltMacIIsi
		19	gestaltMacLC

	'micn' gestaltMachineIcon
	'rom ' gestaltROMSize				ROM サイズ
	'romv' gestaltROMVersion			ROM バージョン
	'sysv' gestaltSystemVersion			System バージョン

	<< QuickDraw / GUI >>
	'qd  ' gestaltQuickdrawVersion			QuickDraw
		0x000	gestaltOriginalQD
		0x100	gestalt8BitQD
		0x200	gestalt32BitQD
		0x210	gestalt32BitQD11
		0x220	gestalt32BitQD12
		0x230	gestalt32BitQD13

	'qdrw' gestaltQuickdrawFeatures			QuickDraw
		#0	gestaltHasColor
		#1	gestaltHasDeepGWorlds
		#2	gestaltHasDirectPixMaps
		#3	gestaltHasGrayishTextOr

	'pop!' gestaltPopupAttr				Popup
		#0	gestaltPopupPresent

	'ditl' gestaltDITLExtAttr			DITL
		#0	gestaltDITLExtPresent

	'font' gestaltFontMgrAttr			Font Manager
		#0	gestaltOutlineFonts

	'te  ' gestaltTextEditVersion			TextEdit
		1	gestaltTE1
		2	gestaltTE2
		3	gestaltTE3
		4	gestaltTE4
		5	gestaltTE5


	<< ファイル関連 >>

	'alis' gestaltAliasMgrAttr			Alias Manager
		#0	gestaltAliasMgrPresent

	'fold' gestaltFindFolderAttr			FindFolder()
		#0	gestaltFindFolderPresent

	'fs  ' gestaltFSAttr
		#0	gestaltFullExtFSDispatching
		#1	gestaltHasFSSpecCalls
		#2	gestaltHasFileSystemManager

	'stdf' gestaltStandardFileAttr
		0	gestaltStandardFile58



	<< その他マネージャー >>
	'atlk' gestaltAppleTalkVersion			AppleTalk
	'a/ux' gestaltAUXVersion			A/UX
	'conn' gestaltConnMgrAttr			Connection Manager
		#0	gestaltConnMgrPresent
		#1	gestaltConnMgrCMSearchFix

	'crm ' gestaltCRMAttr
		#0	gestaltCRMPresent

	'ctbv' gestaltCTBVersion			Communication ToolBox

	'dbac' gestaltDBAccessMgrAttr			DB-Access Manager
		#0	gestaltDBAccessMgrPresent

	'easy' gestaltEasyAccessAttr			Easy Access
		#0	gestaltEasyAccessOff
		#1	gestaltEasyAccessOn
		#2	gestaltEasyAccessSticky
		#3	gestaltEasyAccessLocked

	'edtn' gestaltEditionMgrAttr			Edition Manager
		#0	gestaltEditionMgrPresent

	'evnt' gestaltAppleEventsAttr			Apple Event
		#0	gestaltAppleEventsPresent

	'fxfr' gestaltFXfrMgrAttr
		#0	gestaltFXfrMgrPresent

	'help' gestaltHelpMgrAttr			Help Manager
		#0	gestaltHelpMgrPresent

	'misc' gestaltMiscAttr
		0	gestaltScrollingThrottle
		2	gestaltSquareMenuBar

	'nlup' gestaltStdNBPAttr
		#0	gestaltStdNBPPresent

	'nmgr' gestaltNotificationMgrAttr		Notification Manager
		#0	gestaltNotificationPresent

	'sltc' gestaltNuBusConnectors			NuBus

	'os  ' gestaltOSAttr				OS Attr
		#0	gestaltSysZoneGrowable
		#1	gestaltLaunchCanReturn
		#2	gestaltLaunchFullFileSpec
		#3	gestaltLaunchControl
		#4	gestaltTempMemSupport
		#5	gestaltRealTempMemory
		#6	gestaltTempMemTracked
		#7	gestaltIPCSupport
		#8	gestaltSysDebuggerSupport

	'ostt' gestaltOSTable				OS Table
	'tbtt' gestaltToolboxTable			Toolbox
	'xttt' gestaltExtToolboxTable			Toolbox

	'powr' gestaltPowerMgrAttr			Power Manager
		0	gestaltPMgrExists
		1	gestaltPMgrCPUIdle
		2	gestaltPMgrSCC
		3	gestaltPMgrSound

	'ppc ' gestaltPPCToolboxAttr			PPC Toolbox
		0x0000	gestaltPPCToolboxPresent
		0x1000	gestaltPPCSupportsRealTime
		0x0001	gestaltPPCSupportsIncoming
		0x0002	gestaltPPCSupportsOutGoing

	'rsrc' gestaltResourceMgrAttr			Resource Manager
		#0	gestaltPartialRsrcs

	'scri' gestaltScriptMgrVersion			Script Manager
	'scr#' gestaltScriptCount

	'ser ' gestaltSerialAttr			Serial
		0	gestaltHasGPIaToDCDa
		1	gestaltHasGPIaToRTxCa
		2	gestaltHasGPIbToDCDb

	'snd ' gestaltSoundAttr				Sound
		0	gestaltStereoCapability
		1	gestaltStereoMixing
		3	gestaltSoundIOMgrPresent
		4	gestaltBuiltInSoundInput
		5	gestaltHasSoundInputDevice

	'term' gestaltTermMgrAttr			Terminal Manager
		#0	gestaltTermMgrPresent

	'tmgr' gestaltTimeMgrVersion			Time Manager
		1	gestaltStandardTimeMgr
		2	gestaltRevisedTimeMgr
		3	gestaltExtendedTimeMgr

	'vm  ' gestaltVMAttr				VM Attr
		#0	gestaltVMPresent
#
#
#
/***SysError***/ SystemError
SysError(2o)

【名前】
	SysError -

【書式】
	■SysError	II-362

	void	SysError(short errorCode);
#
#
#
/***OpenDeskAcc***/ CloseDeskAcc SystemClick SystemEdit SystemTask SystemEvent SystemMenu DeskManager
OpenDeskAcc(2o)

【名前】
	OpenDeskAcc  - デスクアクセサリを開く
	CloseDeskAcc - デスクアクセサリを閉じる
	SystemClick  -
	SystemEdit   -
	SystemTask   -
	SystemEvent  -
	SystemMenu   -

【書式】
	■OpenDeskAcc	I-440
	■CloseDeskAcc	I-440
	■SystemClick	I-441
	■SystemEdit	I-441
	■SystemTask	I-442, 444; II-189
	■SystemEvent	I-442
	■SystemMenu	I-443

	short	OpenDeskAcc(ConstStr255Param deskAccName);
	void	CloseDeskAcc(short refNum);
			refNumは、OpenDeskAccのときの戻り値

	void	SystemClick(const EventRecord *theEvent, WindowPtr theWindow);
		デスクアクセサリのウインドウをクリックしたときイベントレコー
		ドそのものと、イベントの起きたウインドウを渡してください

	Boolean	SystemEdit(short editCmd);
		デスクアクセサリを使っていてエディットコマンドを呼び出したと
		きに使ってください。
		editCmdは
		   0 - Undo
		   2 - Cut
		   3 - Copy
		   4 - Paste
		   5 - Clear

	void	SystemTask(void);
		定期的な動作をするデスクアクセサリを動かしますイベントループ
		の中で、最低一回呼び出してください

	Boolean	SystemEvent(const EventRecord *theEvent);
		イベントマネージャが、デスクアクセサリにだす下請けルーチン

	void	SystemMenu(long menuResult);
		イベントマネージャが、メニューを持つデスクアクセサリにだすもの
#
#
#
/***InitPack***/ InitAllPacks PackageManager
InitPack(2o)

【名前】
	InitPack     - パッケージの初期化
	InitAllPacks - 全パッケージの初期化

【書式】
	■InitPack	I-484
	■InitAllPacks	I-484

	void	InitPack(short packID);
	void	InitAllPacks(void);
/***IUGetIntl***/ IUSetIntl IUMetric IUClearCache IUGetItlTable PackageManager
IUGetIntl(2o)

【名前】
	IUGetIntl     - インターナショナルリソースを読込む
	IUSetIntl     - 
	IUMetric      - メートル法が使われていればTRUE
	IUClearCache  -
	IUGetItlTable -

【書式】
	■IUGetIntl	I-505
	■IUSetIntl	I-506
	■IUMetric	I-505
	■IUClearCache	VI-14-76
	■IUGetItlTable	VI-14-77

	#include <Packages.h>

	Handle	IUGetIntl(short theID);
			theIDのインターナショナルリソースを読込む

	void	IUSetIntl(short refNum, short theID, Handle intlHandle);
			refNumの参照番号のリソースファイルのtheIDというIDのイ
			ンターナショナルリソースにintlParamを書き出します

	Boolean	IUMetric(void);

	void	IUClearCache(void);

	void	IUGetItlTable(ScriptCode script, short tableCode,
			Handle *itlHandle, long *offset, long *length);
/***NumToString***/ StringToNum IUDateString IUDatePString IUTimeString IUTimePString IULDateString IULTimeString DateForm DateOrders PackageManager
NumToString(2o)

【名前】
	NumToString   - 整数を文字列に変換
	StringToNum   - 文字列を整数に変換
	IUDateString  - 日時整数を日付文字列に変換
	IUDatePString - 日時整数を日付文字列に変換(intlParam リソース使用)
	IULDateString -
	IUTimeString  - 日時整数を時間文字列に変換
	IUTimePString - 日時整数を時間文字列に変換(intlParam リソース使用)
	IULTimeString -
	DateForm      - data type
	DateOrders    - data type

【書式】
	■NumToString	I-489
	■StringToNum	I-490
	■IUDateString	I-504
	■IUDatePString	I-505
	■IULDateString	VI-14-75
	■IUTimeString	I-505
	■IUTimePString	I-505
	■IULTimeString	VI-14-75

	#include <Packages.h>

	void	NumToString(long theNum, Str255 theString);
	void	StringToNum(ConstStr255Param theString, long *theNum);

	void	IUDateString(long dateTime, DateForm longFlag, Str255 result);
	void	IUDatePString(long dateTime, DateForm longFlag, Str255 result,
							Handle intlHandle);
		日時整数を日付文字列に変換
		<longFlag>
			0 shortDate	短め
			1 longDate	長め
			2 abbrevDate	longDateの省略形
		IUDatePStringは、日付の表記をintlParamリソースにしたがいます

	void	IUTimeString(long dateTime, Boolean wantSeconds,
					Str255 result);
	void	IUTimePString(long dateTime, Boolean wantSeconds,
					Str255 result, Handle intlHandle);
		日時整数を時間文字列に変換
		<longFlag>
			0 shortDate	短め
			1 longDate	長め
			2 abbrevDate	longDateの省略形
		IUTimePStringは、時間の表記をintlParamリソースにしたがいます

	void	IULDateString(LongDateTime *dateTime, DateForm longFlag,
					Str255 result, Handle intlHandle);
	void	IULTimeString(LongDateTime *dateTime, Boolean wantSeconds,
					Str255 result, Handle intlHandle);

	■DateForm	I-504
	■DateOrders	??
	  DateForm	uchar
	  DateOrders	uchar
/***IUCompString***/ IUEqualString IUMagString IUMagIDString IUCompPString IUEqualPString IUMagPString IUMagIDPString EqualString RelString UprString PackageManager
IUCompString(2o)

【名前】
	IUCompString   - 文字列比較(国を考慮)
	IUCompPString  - 文字列比較(国を考慮,'itl2'リソース指定)
	IUEqualString  - 文字列同じかチェック(国を考慮)
	IUEqualPString - 文字列同じかチェック(国を考慮,'itl2'リソース指定)
	IUMagString    - 文字列比較(国を考慮,文字数指定)
	IUMagPString   - 文字列比較(国を考慮,文字数指定,'itl2'リソース指定)
	IUMagIDString  - 文字列一致(国を考慮,文字数指定)
	IUMagIDPString - 文字列一致(国を考慮,文字数指定,'itl2'リソース指定)
	EqualString    - [国を未考慮] 文字列の比較(完全マッチ)
	RelString      - [国を未考慮] 文字列の比較

【書式】
	■IUCompString		I-506
	■IUEqualString		I-506
	■IUMagString		I-506
	■IUMagIDString		I-507
	■IUCompPString		VI-14-77 (Part 2)
	■IUEqualPString	VI-14-78 (Part 2)
	■IUMagPString		VI-14-77 (Part 2)
	■IUMagIDPString	VI-14-78 (Part 2)

	■EqualString		II-377 (OS Utilites)
	■RelString		IV-234 (OS Utilites)

	#include <Packages.h>

	short	IUCompString(ConstStr255Param aStr, ConstStr255Param bStr);
	short	IUCompPString(ConstStr255Param aStr, ConstStr255Param bStr,
							Handle itl2Handle);
		aStrとbStrを国を考慮したうえで文字列の比較をします。
		戻り値
		   -1	aStrが小
		   0	等しい
		   1	aStrが大

	short	IUEqualString(ConstStr255Param aStr, ConstStr255Param bStr);
	short	IUEqualPString(ConstStr255Param aStr, ConstStr255Param bStr,
							Handle itl2Handle);
		戻り値	0	同じ
			1	違う

	short	IUMagString(const void *aPtr, const void *bPtr, short aLen,
						short bLen);
	short	IUMagPString(const void *aPtr, const void *bPtr, short aLen,
						short bLen, Handle itl2Handle);
		IUCompString() を文字数を指定して行なう


	short	IUMagIDString(const void *aPtr, const void *bPtr, short aLen,
						short bLen);
	short	IUMagIDPString(const void *aPtr, const void *bPtr, short aLen,
						short bLen, Handle itl2Handle);
		IUEqualString() を文字数を指定して行なう


	Boolean	EqualString(ConstStr255Param str1, ConstStr255Param str2,
					Boolean caseSens, Boolean diacSens);
	short	RelString(ConstStr255Param str1, ConstStr255Param str2,
					Boolean caseSens, Boolean diacSens);
			caseSens  true=英大文字/小文字を区別
			diacSens  true=区切り文字を無視しない

			RelString の戻り値:	-1 sortsBefore  str1 < str2
						0  sortsEqual	str1 = str2
						1  sortsAfter	str1 > str2
/***IUScriptOrder***/ IULangOrder IUTextOrder IUStringOrder PackageManager
IUScriptOrder(2o)

【名前】
	IUScriptOrder -
	IULangOrder   -
	IUTextOrder   -
	IUStringOrder -

【書式】
	#include <Packages.h>

	short	IUScriptOrder(ScriptCode script1, ScriptCode script2);

	short	IULangOrder(LangCode language1, LangCode language2);

	short	IUTextOrder(const void *aPtr, const void *bPtr, short aLen,
			short bLen, ScriptCode aScript, ScriptCode bScript,
			LangCode aLang, LangCode bLang);

	short	IUStringOrder(ConstStr255Param aStr, ConstStr255Param bStr,
			ScriptCode aScript, ScriptCode bScript, LangCode aLang,
			LangCode bLang);
/***Intl0Rec***/ Intl0Ptr Intl0Hndl Intl1Rec Intl1Ptr Intl1Hndl PackageManager
Intl0Rec(2o)

【名前】
	Intl0Rec - data type
	Intl1Rec - data type

【形式】
	■Intl0Rec	I-497
	  Intl0Rec
		char	decimalPt;
		char	thousSep;
		char	listSep;
		char	currSym1;
		char	currSym2;
		char	currSym3;
		uchar	currFmt;
		uchar	dateOrder;
		uchar	shrtDateFmt;
		char	dateSep;
		uchar	timeCycle;
		uchar	timeFmt;
		char	mornStr[4];
		char	eveStr[4];
		char	timeSep;
		char	time1Suff;
		char	time2Suff;
		char	time3Suff;
		char	time4Suff;
		char	time5Suff;
		char	time6Suff;
		char	time7Suff;
		char	time8Suff;
		uchar	metricSys;
		short	intl0Vers;

	  Intl0Ptr	Intl0Rec *
	  Intl0Hndl	Intl0Rec **

	■Intl1Rec	I-500
	  Intl1Rec
		Str15	days[7];
		Str15	months[12];
		uchar	suppressDay;
		uchar	lngDateFmt;
		uchar	dayLeading0;
		uchar	abbrLen;
		char	st0[4];
		char	st1[4];
		char	st2[4];
		char	st3[4];
		char	st4[4];
		short	intl1Vers;
		short	localRtn[1];

	  Intl1Ptr	Intl1Rec *
	  Intl1Hndl	Intl1Rec **
#
#
#
/***ScrapManager***/ InfoScrap UnloadScrap LoadScrap GetScrap ZeroScrap PutScrap ScrapStuff PScrapStuff ScrapManager
ScrapManager(2o)		Scrap Manager

【名前】
	ScrapManager - Scrap Manager
	InfoScrap    - スクラップ情報の取得
	PutScrap     - スクラップへの書き込み
	GetScrap     - スクラップの読み込み
	ZeroScrap    - スクラップ内容の消去
	UnloadScrap  - メモリー上のスクラップをディスク上に移す
	LoadScrap    - ディスク上のスクラップをメモリー上に移す
	ScrapStuff   - data type

【書式】
	■InfoScrap	I-457
	■ZeroScrap	I-459
	■PutScrap	I-459
	■GetScrap	I-459

	■UnloadScrap	I-458
	■LoadScrap	I-458

	PScrapStuff	InfoScrap(void);
			スクラップ情報を返します
	long	ZeroScrap(void);
			メモリー又はディスク上のスクラップを消去します

	long	PutScrap(long length, ResType theType, Ptr source);
			sourceのデータをlengthバイトスクラップに書き出します。
			ResTypeはタイプです

	long	GetScrap(Handle hDest, ResType theType, long *offset);
		  hDest ハンドルの領域に、theType のリソースタイプのスクラップ
		  データを offset バイト目から読み込みます。

		hDest = NIL:	実際のデータを読み込まず、サイズを返す

		戻り値:	noTypeErr	指定リソースタイプのデータがない
			負		OS error
			正		データのバイト数

	<< 上級プログラマ用 >>
	long	UnloadScrap(void);
			メモリー上のスクラップをディスク上に移します
	long	LoadScrap(void);
			ディスク上のスクラップをメモリー上に移します

	■ScrapStuff	I-457
	  ScrapStuff
		long	scrapSize;
		Handle	scrapHandle;
		short	scrapCount;
		short	scrapState;
		StringPtr scrapName;
	  PScrapStuff	ScrapStuff *

【サンプル】
	=== GetScrap === 'PICT'(絵) の取得＆表示
	Handle	pHndl;
	long	length;
	Rect	frame;

	pHndl = NewHandle(0);
	length = GetScrap(pHndl, 'PICT', 0);
	if(lenght > 0){
		DrawPicture(PicHandle(pHndl), &frame);
	}
	DisposeHandle(pHndl);

【関連項目】
	I-451	ScrapManager
	IV-61	PutScrap/GetScrap は noScrapErr を返さない。
		（ZeroScrap を呼ぶ必要がなくなった）
#
#
#
/***GetCurrentProcess***/ GetNextProcess GetProcessInformation SameProcess GetFrontProcess SetFrontProcess WakeUpProcess ProcessSerialNumber ProcessSerialNumberPtr ProcessInfoRec ProcessInfoRecPtr ProcessManager
GetCurrentProcess(2o)		Process Manager

【名前】
	GetCurrentProcess     - 現在実行中のプロセス番号の取得
	GetNextProcess        - プロセスリストよりプロセス番号を取得
	GetProcessInformation - プロセス情報の取得
	SameProcess           - プロセス番号の比較
	GetFrontProcess       - フォアグラウンドで実行中のプロセス番号の取得
	SetFrontProcess       -	指定プロセスをフォアグラウンドにする
	WakeUpProcess         -
	ProcessSerialNumber   - data type
	ProcessInfoRec        - data type

【書式】
	■	VI-29-17 (Part 3)

	#include <Processes.h>

	OSErr	GetCurrentProcess(ProcessSerialNumber *PSN);

	OSErr	GetNextProcess(ProcessSerialNumber *PSN);

	OSErr	GetProcessInformation(const ProcessSerialNumber *PSN,
			ProcessInfoRecPtr info);

	OSErr	SameProcess(const ProcessSerialNumber *PSN1,
			const ProcessSerialNumber *PSN2, Boolean *result);

	OSErr	GetFrontProcess(ProcessSerialNumber *PSN);
	OSErr	SetFrontProcess(const ProcessSerialNumber *PSN);

	OSErr	WakeUpProcess(const ProcessSerialNumber *PSN);

	■ProcessSerialNumber	###
	  ProcessSerialNumber
		ulong	highLongOfPSN;
		ulong	lowLongOfPSN;
	  ProcessSerialNumberPtr	ProcessSerialNumber *

	  特殊な指定
		0 kNoProcess
		1 kSystemProcess
		2 kCurrentProcess


	■ProcessInfoRec	VI-29-9
	  ProcessInfoRec
		ulong		processInfoLength;
		StringPtr	processName;
		ProcessSerialNumber processNumber;
		ulong		processType;
		OSType		processSignature;
		ulong		processMode;		** 詳細↓
		Ptr		processLocation;
		ulong		processSize;
		ulong		processFreeMem;
		ProcessSerialNumber processLauncher;
		ulong		processLaunchDate;
		ulong		processActiveTime;
		FSSpecPtr	processAppSpec;
	  ProcessInfoRecPtr	ProcessInfoRec *

	  ** processMode **
		modeDeskAccessory		0x00020000
		modeMultiLaunch			0x00010000

		modeNeedSuspendResume		0x00004000
		modeCanBackground		0x00001000
		modeDoesActivateOnFGSwitch	0x00000800
		modeOnlyBackground		0x00000400
		modeGetFrontClicks		0x00000200
		modeGetAppDiedMsg		0x00000100
		mode32BitCompatible		0x00000080
		modeHighLevelEventAware		0x00000040
		modeLocalAndRemoteHLEvents	0x00000020
		modeStationeryAware		0x00000010
		modeUseTextEditServices		0x00000008
/***LaunchApplication***/ LaunchDeskAccessory LaunchParamBlockRec LaunchPBPtr AppParameters AppParametersPtr ProcessManager
LaunchApplication(2o)		Process Manager

【名前】
	LaunchApplication   - アプリケーションの起動
	LaunchDeskAccessory - デスクアクセサリの起動
	LaunchParamBlockRec - data type
	AppParameters       - data type

【書式】
	■LaunchApplication	VI-29-21
	■LaunchDeskAccessory	VI-29-23

	#include <Processes.h>

	OSErr	LaunchApplication(const LaunchParamBlockRec *launchParams);

		noErr
		memFullErr	十分なメモリがない
		memFragErr	特別な要求のもとで立ち上げる十分なメモリがない
		appModeErr	メモリモードが32bitであるが、アプリケーション
				が 32bitクリーンでなかった
		appMemFullErr	'SIZE' で指定されたメモリよりも大きなメモリを
				必要とした
		appIsDeamon	アプリケーションがバックグラウンド専用であった

	OSErr	LaunchDeskAccessory(const FSSpec *pFileSpec,
						ConstStr255Param pDAName);

		noErr
		resNotFound	リソースが見つからない


	■LaunchParamBlockRec	VI-29-12
	  LaunchParamBlockRec
		ulong		reserved1;
		ushort		reserved2;
	   →	ushort		launchBlockID;		← extendedBlock
	   →	ulong		launchEPBLength;	← extendedBlockLen
	   →	ushort		launchFileFlags;
	   →	LaunchFlags	launchControlFlags;	** 詳細↓
	   →	FSSpecPtr	launchAppSpec;
	   ←	ProcessSerialNumber launchProcessSN;	プロセスシリアル番号
	   ←	ulong		launchPreferredSize;	推奨サイズ
	   ←	ulong		launchMinimumSize;	最小サイズ
	   ←	ulong		launchAvailableSize;	可能サイズ
							(memFullErr 時のみ)
	   →	AppParametersPtr launchAppParameters;
	  LaunchPBPtr	LaunchParamBlockRec *

	   ** launchControlFlags **
		launchContinue		自分のプログラムの処理を続ける
		launchNoFileFlags	launchFileFlags を無視させる
					(launchFileFlag に値が設定される)
		launchUseMinimum	
		launchDontSwitch	起動アプリケーションをフロントにしない
		launchAllow24Bit	
		launchInhibitDaemon	バックグラウンド専用アプリケーションを
					起動しない

	■AppParameters		VI-29-14
	  AppParameters
		EventRecord	theMsgEvent;
		ulong		eventRefCon;
		ulong		messageLength;
	  AppParametersPtr	AppParameters *

【使用例】
	LaunchParamBlockRec	lpb;
	FSSpec			applFs;		/* ← 処理前に設定が必要 */

	lpb.launchBlockID	= extendedBlock;
	lpb.launchEPBLength	= extendedBlockLen;
	lpb.launchFileFlags	= 0;		/* フラグ指定なし	*/
	lpb.launchControlFlags	= launchContinue | launchNoFileFlags;
	lpb.launchAppSpec	= &applFs;
	lpb.launchAppParameters	= NULL;		/* Open-Document が自動 */

	err = LaunchApplication(&lpb);
#
#
#
/***UnloadSeg***/ ExitToShell SegmentLoader
UnloadSeg(2o)

【名前】
	UnloadSeg   - セグメントのアンロード
	ExitToShell - アプリケーション終了

【書式】
	■UnloadSeg	II-59
	■ExitToShell	II-59

	void	UnloadSeg(void * routineAddr);
			routineAddrのルーチンを含むセグメントをアンロードします

	void	ExitToShell(void);
/***GetAppParms***/ CountAppFiles GetAppFiles ClrAppFiles AppFile SegmentLoader
GetAppParms(2o)

【名前】
	GetAppParms   - 現在起動中のアプリケーションの情報を取得
	CountAppFiles - アプリケーション起動ファイル数の取得
	GetAppFiles   - ファイル情報を順番に取得
	ClrAppFiles   - ファイルが処理済みであることを教える
	AppFile       - data type

【書式】
	■GetAppParms	II-58
	■CountAppFiles	II-57
	■GetAppFiles	II-58
	■ClrAppFiles	II-58

	void	GetAppParms(Str255 apName, short *apRefNum, Handle *apParam);
			現在起動中のアプリケーションの情報を返します。
			apName		名前
			apRefNum	参照番号
			apParam		ファインダ情報へのハンドル

	void	CountAppFiles(short *message, short *count);
			message	-- ファインダが要求した処理
				0 appOpen	ファイルのオープン
				1 appPrint	ファイルのプリント
			count	-- ファイル数

	void	GetAppFiles(short index, AppFile *theFile);
			index	1 ～ CountAppFiles() まで

	void	ClrAppFiles(short index);

	■AppFile	II-58
	  AppFile
		short	vRefNum;
		OSType	fType;
		short	versNum;
		Str255	fName;
#
#
#
/***NMInstall***/ NMRemove NMRec NMRecPtr NMProcPtr Notification
NMInstall(2o)

【名前】
	NMInstall -
	NMRemove  -
	NMRec     - data type

【書式】
	■Notification Manager	VI-24(Part3) ～
	■NMInstall	VI-24-10
	■NMRemove	VI-24-11

	#include <Notification.h>

	OSErr	NMInstall(NMRecPtr nmReqPtr);
	OSErr	NMRemove (NMRecPtr nmReqPtr);

	■NMRec		VI-24-6
	  NMRec
		QElemPtr	qLink;
		short		qType;		nmType を必ずセット
		short		nmFlags;	(reserve)
		long		nmPrivate;	(reserve)
		short		nmReserved;	(reserve)
		short		nmMark;		アプリケーションメニューへ表示
						  0 表示しない
						  1 ◆表示する
		Handle		nmIcon;		メニューバーのアップルマークに
						  != NULL アイコン(SICN 形式)
						  == NULL 表示しない
		Handle		nmSound;	サウンド
		StringPtr	nmStr;		ダイアログに文字列表示
						  != NULL この文字列が表示される
						  == NULL 表示しない
		NMProcPtr	nmResp;		レスポンス関数
						  NULL   全く実行されない
						  -1	 リクエスト完了直後除去
						  その他 関数
		long		nmRefCon;	アプリケーション用
	  NMRecPtr	NMRec *

	■NMProcPtr	VI-24-8
	  pascal void (*NMProcPtr)(struct NMRec *);

	nmType = 8
#
#
#
/***InsTime***/ InsXTime PrimeTime RmvTime TMTask TMTaskPtr TimerProcPtr TimeManager
InsTime(2o)

【名前】
	InsTime   -
	InsXTime  -
	PrimeTime -
	RmvTime   -
	TMTask    - data type

【書式】
	■InsTime	VI3-23-16; (IV-300)
	■InsXTime	VI3-23-16
	■PrimeTime	VI3-23-17; (IV-300)
	■RmvTime	VI3-23-17; (IV-300)

	void	InsTime(QElemPtr tmTaskPtr);
	void	InsXTime(QElemPtr tmTaskPtr);
	void	PrimeTime(QElemPtr tmTaskPtr, long count);
	void	RmvTime(QElemPtr tmTaskPtr);

	■TMTask	VI3-23-5, 7
	  TMTask
		QElemPtr qLink;
		short	qType;
		TimerProcPtr tmAddr;
		long	tmCount;
		long	tmWakeUp;
		long	tmReserved;
	  TMTaskPtr	TMTask *

	■TimerProcPtr
	  pascal void (*TimerProcPtr)(void);
#
#
#
/***ListManager***/ LNew LDispose List Cell DataArray DataPtr DataHandle ListRec ListPtr ListHandle
ListManager(2o)			List Manager

【名前】
	ListManager - リストマネージャー
	LNew        - リストの作成
	LDispose    - リストの解放
	Cell        - data type
	ListRec     - data type

【解説】

【書式】
	■LNew		IV-270
	■LDispose	IV-271

	ListHandle LNew(const Rect *rView, const Rect *dataBounds,
			Point cSize, short theProc, WindowPtr theWindow,
			Boolean drawIt, Boolean hasGrow, Boolean scrollHoriz,
			Boolean scrollVert);
		rView			theWindow の表示座標
		dataBounds		初期リスト数
		cSize			各セルの奥行きと幅
		theProc			プロシジャーの resource-ID(標準=0)
		theWindow		grafPort
		drawIt			TRUE: リストを表示する
		hasGrow			TRUE: サイズボックスを表示する
		scrollHoriz		TRUE: 横スクロールする
		scrollVert		TRUE: 縦スクロールする

	void	LDispose(ListHandle lHandle);

【形式】
	■Cell		IV-263
	  Cell		Point

	  DataArray	char	[32001]
	  DataPtr	char *
	  DataHandle	char **

	■ListRec	IV-263
	  ListRec
		Rect		rView;		.
		GrafPtr		port;		.
		Point		indent;
		Point		cellSize;
		Rect		visible;
		ControlHandle	vScroll;
		ControlHandle	hScroll;
		char		selFlags;
				-128	lOnlyOne	１つの選択のみ
				64	lExtendDrag
				32	lNoDisjoint
				16	lNoExtend
				8	lNoRect
				4	lUseSense
				2	lNoNilHilite
				0	lInitMsg
				1	lDrawMsg
				2	lHiliteMsg
				3	lCloseMsg
		Boolean		lActive;
		char		lReserved;
		char		listFlags;
					2  lDoVAutoScroll	横 auto-scroll
					1  lDoHAutoScroll	縦 auto-scroll
		long		clikTime;
		Point		clikLoc;
		Point		mouseLoc;
		ProcPtr		lClikLoop;
		Cell		lastClick;
		long		refCon;
		Handle		listDefProc;
		Handle		userHandle;
		Rect		dataBounds;
		DataHandle	cells;
		short		maxIndex;
		short		cellArray[1];

		.	参照にはいみあり
		x	設定/参照に特に意味なし
		o	直接設定しないといけないことあり

	  ListPtr	ListRec *
	  ListHandle	ListRec **
/***LAddColumn***/ LAddRow LDelColumn LDelRow ListManager
LAddColumn(2o)

【名前】
	LAddColumn - セルカラム数の追加
	LAddRow    - セル行数の追加
	LDelColumn - セルカラム数の削除
	LDelRow    - セル行数の削除

【書式】
	■LAddColumn	IV-271
	■LAddRow	IV-271
	■LDelColumn	IV-271
	■LDelRow	IV-272

	short	LAddColumn(short count, short colNum, ListHandle lHandle);
	short	LAddRow   (short count, short rowNum, ListHandle lHandle);

	void	LDelColumn(short count, short colNum, ListHandle lHandle);
	void	LDelRow   (short count, short rowNum, ListHandle lHandle);
/***LAddToCell***/ LClrCell LGetCell LSetCell LCellSize LGetSelect LSetSelect ListManager
LAddToCell(2o)

【名前】
	LAddToCell - セルデータの追加
	LClrCell   - セルデータの削除
	LGetCell   - セルデータの取得
	LSetCell   - セルデータの設定(旧データとの置換)
	LCellSize  -
	LGetSelect - セレクト状態の取得
	LSetSelect - セレクト状態の設定

【書式】
	■LAddToCell	IV-272
	■LClrCell	IV-272
	■LGetCell	IV-272
	■LSetCell	IV-272
	■LCellSize	IV-273
	■LGetSelect	IV-273
	■LSetSelect	IV-273

	void	LAddToCell(const void *dataPtr, short dataLen, Cell theCell,
						ListHandle lHandle);

	void	LClrCell(Cell theCell, ListHandle lHandle);

	void	LGetCell(void *dataPtr, short *dataLen, Cell theCell,
						ListHandle lHandle);
	void	LSetCell(const void *dataPtr, short dataLen, Cell theCell,
						ListHandle lHandle);

	void	LCellSize(Point cSize, ListHandle lHandle);

	Boolean	LGetSelect(Boolean next, Cell *theCell, ListHandle lHandle);
	void	LSetSelect(Boolean setIt, Cell theCell, ListHandle lHandle);
/***LClick***/ LLastClick ListManager
LClick(2o)

【名前】
	LClick     -
	LLastClick -

【書式】
	■LClick	IV-273
	■LLastClick	IV-273

	Boolean	LClick(Point pt, short modifiers, ListHandle lHandle);

	Cell	LLastClick(ListHandle lHandle);
/***LFind***/ LNextCell LRect LSearch LSize SearchProcPtr ListManager
LFind(2o)

【名前】
	LFind     -
	LNextCell -
	LRect     -
	LSearch   -
	LSize     - リスト表示サイズの設定(通常、ウインドウのリサイズ時のみ)

【書式】
	■LFind		IV-274
	■LNextCell	IV-274
	■LRect		IV-274
	■LSearch	IV-274
	■LSize		IV-274

	void	LFind(short *offset, short *len, Cell theCell,
			ListHandle lHandle);

	Boolean	LNextCell(Boolean hNext, Boolean vNext, Cell *theCell,
			ListHandle lHandle);

	void	LRect(Rect *cellRect, Cell theCell, ListHandle lHandle);

	Boolean	LSearch(const void *dataPtr, short dataLen,
			SearchProcPtr searchProc, Cell *theCell,
			ListHandle lHandle);

	void	LSize(short listWidth, short listHeight, ListHandle lHandle);

	■SearchProcPtr
	  pascal short (*SearchProcPtr)(Ptr aPtr, Ptr bPtr,
						short aLen, short bLen);
/***LDraw***/ LDoDraw LScroll LAutoScroll LUpdate LActivate ListManager
LDraw(2o)

【名前】
	LDraw       - 指定セルのみの再表示
	LDoDraw     - 自動表示状態の設定
	LScroll     - 指定行桁数分スクロール
	LAutoScroll - 最初に選択されたセルが左上に来るようにスクロール
	LUpdate     - リストの再表示	(通常、Updateイベント時)
	LActivate   - ハイライトの設定	(通常、Activateイベント時)

【書式】
	■LDraw		IV-275
	■LDoDraw	IV-275
	■LScroll	IV-275
	■LAutoScroll	IV-275
	■LUpdate	IV-275
	■LActivate	IV-276

	void	LDraw(Cell theCell, ListHandle lHandle);

	void	LDoDraw(Boolean drawIt, ListHandle lHandle);

	void	LScroll(short dCols, short dRows, ListHandle lHandle);

	void	LAutoScroll(ListHandle lHandle);

	void	LUpdate(RgnHandle theRgn, ListHandle lHandle);

	void	LActivate(Boolean act, ListHandle lHandle);
/***OSErr***/ Error
OSErr(2o)

【名前】
	OSErr - エラーデータタイプ
	Error - エラーコード一覧

【書式】
	■OSErr		II-373
		OSErr		short

【エラーコード一覧】
	#include <Errors.h>

	0	noErr
	-50	paramErr
	-200	noHardwareErr
	-201	notEnoughHardwareErr
	-128	userCanceledErr
	-1	qErr
	-2	vTypErr
	-3	corErr
	-4	unimpErr
	-5	SlpTypeErr
	-8	seNoDB
	-17	controlErr
	-18	statusErr
	-19	readErr
	-20	writErr
	-21	badUnitErr
	-22	unitEmptyErr
	-23	openErr
	-24	closErr
	-25	dRemovErr
	-26	dInstErr
	-27	abortErr
	-27	iIOAbortErr
	-28	notOpenErr
	-29	unitTblFullErr
	-30	dceExtErr
	-360	slotNumErr
	-400	gcrOnMFMErr
	-33	dirFulErr
	-34	dskFulErr
	-35	nsvErr
	-36	ioErr
	-37	bdNamErr
	-38	fnOpnErr
	-39	eofErr
	-40	posErr
	-41	mFulErr
	-42	tmfoErr
	-43	fnfErr
	-44	wPrErr
	-45	fLckdErr
	-46	vLckdErr
	-47	fBsyErr
	-48	dupFNErr
	-49	opWrErr
	-51	rfNumErr
	-52	gfpErr
	-53	volOffLinErr
	-54	permErr
	-55	volOnLinErr
	-56	nsDrvErr
	-57	noMacDskErr
	-58	extFSErr
	-59	fsRnErr
	-60	badMDBErr
	-61	wrPermErr
	-120	dirNFErr
	-121	tmwdoErr
	-122	badMovErr
	-123	wrgVolTypErr
	-124	volGoneErr

	-1300	fidNotFound
	-1301	fidExists
	-1302	notAFileErr
	-1303	diffVolErr
	-1304	catChangedErr
	-1305	desktopDamagedErr
	-1306	sameFileErr
	-1307	badFidErr
	-5500	envNotPresent
	-5501	envBadVers
	-5502	envVersTooBig
	-64	fontDecError
	-65	fontNotDeclared
	-66	fontSubErr
	-32615	fontNotOutlineErr
	-84	firstDskErr
	-64	lastDskErr
	-64	noDriveErr
	-65	offLinErr
	-66	noNybErr
	-67	noAdrMkErr
	-68	dataVerErr
	-69	badCksmErr
	-70	badBtSlpErr
	-71	noDtaMkErr
	-72	badDCksum
	-73	badDBtSlp
	-74	wrUnderrun
	-75	cantStepErr
	-76	tk0BadErr
	-77	initIWMErr
	-78	twoSideErr
	-79	spdAdjErr
	-80	seekErr
	-81	sectNFErr
	-82	fmt1Err
	-83	fmt2Err
	-84	verErr
	-85	clkRdErr
	-86	clkWrErr
	-87	prWrErr
	-88	prInitErr
	-89	rcvrErr
	-90	breakRecd

    QD Offscreen
	-157	cDepthErr				QDoffscreen.h

    Scrap Manager
	-100	noScrapErr
	-102	noTypeErr
	-99	memROZWarn
	-99	memROZError
	-99	memROZErr
	-108	memFullErr
	-109	nilHandleErr
	-110	memAdrErr
	-111	memWZErr
	-112	memPurErr
	-113	memAZErr
	-114	memPCErr
	-115	memBCErr
	-116	memSCErr
	-117	memLockedErr
	-192	resNotFound
	-193	resFNotFound
	-194	addResFailed
	-195	addRefFailed
	-196	rmvResFailed
	-197	rmvRefFailed
	-198	resAttrErr
	-199	mapReadErr
	-186	CantDecompress
	-185	badExtResource
	1	evtNotEnb
	-145	noMemForPictPlaybackErr
	-147	rgnTooBigError
	-148	pixMapTooDeepErr
	-149	nsStackErr
	-150	cMatchErr
	-151	cTempMemErr
	-152	cNoMemErr
	-153	cRangeErr
	-154	cProtectErr
	-155	cDevErr
	-156	cResErr
	-500	rgnTooBigErr
	-125	updPixMemErr
	-11000	pictInfoVersionErr
	-11001	pictInfoIDErr
	-11002	pictInfoVerbErr
	-11003	cantLoadPickMethodErr
	-11004	colorsRequestedErr
	-11005	pictureDataErr

    Sound Manager
		noHardware = noHardwareErr
		notEnoughHardware = notEnoughHardwareErr
	-203	queueFull
	-204	resProblem
	-205	badChannel
	-206	badFormat
	-207	notEnoughBufferSpace
	-208	badFileFormat
	-209	channelBusy
	-210	buffersTooSmall
	-211	channelNotBusy
	-212	noMoreRealTime
	-220	siNoSoundInHardware
	-221	siBadSoundInDevice
	-222	siNoBufferSpecified
	-223	siInvalidCompression
	-224	siHardDriveTooSlow
	-225	siInvalidSampleRate
	-226	siInvalidSampleSize
	-227	siDeviceBusyErr
	-228	siBadDeviceName
	-229	siBadRefNum
	-230	siInputDeviceErr
	-231	siUnknownInfoType
	-232	siUnknownQuality

    Notification Manager
	-299	nmTypErr
	1	siInitSDTblErr
	2	siInitVBLQsErr
	3	siInitSPTblErr
	10	sdmJTInitErr
	11	sdmInitErr
	12	sdmSRTInitErr
	13	sdmPRAMInitErr
	14	sdmPriInitErr
	-290	smSDMInitErr
	-291	smSRTInitErr
	-292	smPRAMInitErr
	-293	smPriInitErr
	-300	smEmptySlot
	-301	smCRCFail
	-302	smFormatErr
	-303	smRevisionErr
	-304	smNoDir
	-305	smDisabledSlot
	-306	smNosInfoArray
	-307	smResrvErr
	-308	smUnExBusErr
	-309	smBLFieldBad
	-310	smFHBlockRdErr
	-311	smFHBlkDispErr
	-312	smDisposePErr
	-313	smNoBoardSRsrc
	-314	smGetPRErr
	-315	smNoBoardId
	-316	smInitStatVErr
	-317	smInitTblVErr
	-318	smNoJmpTbl
	-319	smBadBoardId
	-320	smBusErrTO

	-32768	svTempDisable
	-32640	svDisabled
	-330	smBadRefId
	-331	smBadsList
	-332	smReservedErr
	-333	smCodeRevErr
	-334	smCPUErr
	-335	smsPointerNil
	-336	smNilsBlockErr
	-337	smSlotOOBErr
	-338	smSelOOBErr
	-339	smNewPErr
	-340	smBlkMoveErr
	-341	smCkStatusErr
	-342	smGetDrvrNamErr
	-343	smDisDrvrNamErr
	-344	smNoMoresRsrcs
	-345	smsGetDrvrErr
	-346	smBadsPtrErr
	-347	smByteLanesErr
	-348	smOffsetErr
	-349	smNoGoodOpens
	-350	smSRTOvrFlErr
	-351	smRecNotFnd
	-450	editionMgrInitErr
	-451	badSectionErr
	-452	notRegisteredSectionErr
	-453	badEditionFileErr
	-454	badSubPartErr
	-460	multiplePublisherWrn
	-461	containerNotFoundWrn
	-462	containerAlreadyOpenWrn
	-463	notThePublisherWrn
	-501	teScrapSizeErr
	-502	hwParamErr

    Process Manager
	-600	procNotFound
	-601	memFragErr
	-602	appModeErr
	-603	protocolErr
	-604	hardwareConfigErr
	-605	appMemFullErr
	-606	appIsDaemon

    MemoryDispatch
	-620	notEnoughMemoryErr
	-621	notHeldErr
	-622	cannotMakeContiguousErr
	-623	notLockedErr
	-624	interruptsMaskedErr
	-625	cannotDeferErr
	-91	ddpSktErr
	-92	ddpLenErr
	-93	noBridgeErr
	-94	lapProtErr
	-95	excessCollsns
	-97	portInUse
	-98	portNotCf
	-1024	nbpBuffOvr
	-1025	nbpNoConfirm
	-1026	nbpConfDiff
	-1027	nbpDuplicate
	-1028	nbpNotFound
	-1029	nbpNISErr
	-1066	aspBadVersNum
	-1067	aspBufTooSmall
	-1068	aspNoMoreSess
	-1069	aspNoServers
	-1070	aspParamErr
	-1071	aspServerBusy
	-1072	aspSessClosed
	-1073	aspSizeErr
	-1074	aspTooMany
	-1075	aspNoAck
	-1096	reqFailed
	-1097	tooManyReqs
	-1098	tooManySkts
	-1099	badATPSkt
	-1100	badBuffNum
	-1101	noRelErr
	-1102	cbNotFound
	-1103	noSendResp
	-1104	noDataArea
	-1105	reqAborted
	-3101	buf2SmallErr
	-3102	noMPPErr
	-3103	ckSumErr
	-3104	extractErr
	-3105	readQErr
	-3106	atpLenErr
	-3107	atpBadRsp
	-3108	recNotFnd
	-3109	sktClosedErr
	-5000	afpAccessDenied
	-5001	afpAuthContinue
	-5002	afpBadUAM
	-5003	afpBadVersNum
	-5004	afpBitmapErr
	-5005	afpCantMove
	-5006	afpDenyConflict
	-5007	afpDirNotEmpty
	-5008	afpDiskFull
	-5009	afpEofError
	-5010	afpFileBusy
	-5011	afpFlatVol
	-5012	afpItemNotFound
	-5013	afpLockErr
	-5014	afpMiscErr
	-5015	afpNoMoreLocks
	-5016	afpNoServer
	-5017	afpObjectExists
	-5018	afpObjectNotFound
	-5019	afpParmErr
	-5020	afpRangeNotLocked
	-5021	afpRangeOverlap
	-5022	afpSessClosed
	-5023	afpUserNotAuth
	-5024	afpCallNotSupported
	-5025	afpObjectTypeErr
	-5026	afpTooManyFilesOpen
	-5027	afpServerGoingDown
	-5028	afpCantRename
	-5029	afpDirNotFound
	-5030	afpIconTypeError
	-5031	afpVolLocked
	-5032	afpObjectLocked
	-5033	afpContainsSharedErr
	-5034	afpIDNotFound
	-5035	afpIDExists
	-5036	afpDiffVolErr
	-5037	afpCatalogChanged
	-5038	afpSameObjectErr
	-5039	afpBadIDErr
	-5040	afpPwdSameErr
	-5041	afpPwdTooShortErr
	-5042	afpPwdExpiredErr
	-5043	afpInsideSharedErr
	-5044	afpInsideTrashErr

    PPC
	-900	notInitErr
	-902	nameTypeErr
	-903	noPortErr
	-904	noGlobalsErr
	-905	localOnlyErr
	-906	destPortErr
	-907	sessTableErr
	-908	noSessionErr
	-909	badReqErr
	-910	portNameExistsErr
	-911	noUserNameErr
	-912	userRejectErr
	-913	noMachineNameErr
	-914	noToolboxNameErr
	-915	noResponseErr
	-916	portClosedErr
	-917	sessClosedErr
	-919	badPortNameErr
	-922	noDefaultUserErr
	-923	notLoggedInErr
	-924	noUserRefErr
	-925	networkErr
	-926	noInformErr
	-927	authFailErr
	-928	noUserRecErr
	-930	badServiceMethodErr
	-931	badLocNameErr
	-932	guestNotAllowedErr
	1	swOverrunErr
	16	parityErr
	32	hwOverrunErr
	64	framingErr
	1	dsBusError
	2	dsAddressErr
	3	dsIllInstErr
	4	dsZeroDivErr
	5	dsChkErr
	6	dsOvflowErr
	7	dsPrivErr
	8	dsTraceErr
	9	dsLineAErr
	10	dsLineFErr
	11	dsMiscErr
	12	dsCoreErr
	13	dsIrqErr
	14	dsIOCoreErr
	15	dsLoadErr
	16	dsFPErr
	17	dsNoPackErr
	18	dsNoPk1
	19	dsNoPk2
	20	dsNoPk3
	21	dsNoPk4
	22	dsNoPk5
	23	dsNoPk6
	24	dsNoPk7
	25	dsMemFullErr
	26	dsBadLaunch
	27	dsFSErr
	28	dsStknHeap
	33	negZcbFreeErr
	41	dsFinderErr
	51	dsBadSlotInt
	81	dsBadSANEOpcode
	83	dsBadPatchHeader
	84	menuPrgErr
	85	dsMBarNFnd
	86	dsHMenuFindErr
	87	dsWDEFNotFound
	88	dsCDEFNotFound
	89	dsMDEFNotFound
	90	dsNoFPU
	98	dsNoPatch
	99	dsBadPatch
	101	dsParityErr
	102	dsOldSystem
	103	ds32BitMode
	104	dsNeedToWriteBootBlocks
	105	dsNotEnoughRAMToBoot
	106	dsBufPtrTooLow
	30	dsReinsert
	42	shutDownAlert
	20000	dsShutDownOrRestart
	20001	dsSwitchOffOrRestart
	20002	dsForcedQuit

    System Errors that are used after MacsBug
	-10	dsMacsBugInstalled
	-11	dsDisassemblerInstalled
	-13	dsExtensionsDisabled
	40	dsGreeting
	32767	dsSysErr

    old names here for compatibility's sake
		WDEFNFnd = dsWDEFNotFound
		CDEFNFnd = dsCDEFNotFound
	31	dsNotThe1
	42	dsBadStartupDisk
	43	dsSystemFileErr
	-12	dsHD20Installed
	-126	mBarNFnd
	-127	hMenuFindErr
	-490	userBreak
	-491	strUserBreak
	-492	exUserBreak
		selectorErr = paramErr

    AppleEvent
	-1700	errAECoercionFail
	-1701	errAEDescNotFound
	-1702	errAECorruptData
	-1703	errAEWrongDataType
	-1704	errAENotAEDesc
	-1705	errAEBadListItem
	-1706	errAENewerVersion
	-1707	errAENotAppleEvent
	-1708	errAEEventNotHandled
	-1709	errAEReplyNotValid
	-1710	errAEUnknownSendMode
	-1711	errAEWaitCanceled
	-1712	errAETimeout
	-1713	errAENoUserInteraction
	-1714	errAENotASpecialFunction
	-1715	errAEParamMissed
	-1716	errAEUnknownAddressType
	-1717	errAEHandlerNotFound
	-1718	errAEReplyNotArrived
	-1719	errAEIllegalIndex

						<<Drag.h>>
	-1850	badDragRefErr			不正な drag-ref
	-1851	badDragItemErr			不正な drag-item
	-1852	badDragFlavorErr		不正な flavor
	-1853	duplicateFlavorErr		
	-1854	cantGetFlavorErr
	-1855	duplicateHandlerErr		ハンドラ既に登録済み
	-1856	handlerNotFoundErr		ハンドラ登録なし
	-1857	dragNotAcceptedErr

    Gestalt
	-5550	gestaltUnknownErr
	-5551	gestaltUndefSelectorErr
	-5552	gestaltDupSelectorErr
	-5553	gestaltLocationErr

    Power Manager
	-13000	pmBusyErr
	-13001	pmReplyTOErr
	-13002	pmSendStartErr/*during send, pmgr did not start hs*/
	-13003	pmSendEndErr
	-13004	pmRecvStartErr/*during receive, pmgr did not start hs*/
	-13005	pmRecvEndErr
